package com.jprocms.module.cms.api.vo;


import com.jprocms.module.cms.api.dto.SiteConfigDto;
import com.mzt.logapi.starter.annotation.DiffLogField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotNull;

@Schema(description = "租户 - 站点创建 Request VO")
@Data
@ToString(callSuper = true)
public class SiteTenantCreateReqVO {

    @Schema(description = "站点名称", required = true)
    @NotNull(message = "站点名称不能为空")
    @DiffLogField(name = "站点名称")
    private String name;

    @Schema(description = "站点目录名", required = true)
    @NotNull(message = "站点目录名不能为空")
    @DiffLogField(name = "站点目录名")
    private String sitePath;

    @Schema(description = "站点域名", required = true)
    @NotNull(message = "站点域名不能为空")
    @DiffLogField(name = "站点域名")
    private String siteDomain;

    @Schema(description = "访问协议", required = true)
    @NotNull(message = "访问协议不能为空")
    @DiffLogField(name = "访问协议")
    private String protocol = "http://";

    @Schema(description = "站点配置")
    private SiteConfigDto siteConfig = new SiteConfigDto();

    @Schema(description = "站点状态（1开启  0 关闭）", required = true)
    @DiffLogField(name = "站点状态")
    private Integer status = 1;

    @Schema(description = "排序")
    @DiffLogField(name = "排序")
    private Integer sort = 10;

    @Schema(description = "复制选项，0不复制 1 复制栏目  2 复制栏目和内容", required = true)
    private Integer copyOp = 0;

    @Schema(description = "租户id")
    private Long tenantId;

    @Schema(description = "数据源配置ID")
    private Long dataSourceConfigId;

}
